package com.jade.linkong.service;

import com.jade.linkong.domain.EcharDataEntry;
import com.jade.linkong.domain.LkMatterProject;

import java.util.List;
import java.util.Map;

/**
 * 事项Service接口
 * 
 * @author jade
 * @date 2020-07-15
 */
public interface ILkMatterProjectService 
{
    /**
     * 查询事项
     * 
     * @param id 事项ID
     * @return 事项
     */
    public LkMatterProject selectLkMatterProjectById(Long id,Long projectId);

    /**
     * 查询事项列表
     * 
     * @param lkMatterProject 事项
     * @return 事项集合
     */
    public List<LkMatterProject> selectLkMatterProjectList(LkMatterProject lkMatterProject);

    /**
     * 新增事项
     * 
     * @param lkMatterProject 事项
     * @return 结果
     */
    public int insertLkMatterProject(LkMatterProject lkMatterProject);

    /**
     * 修改事项
     * 
     * @param lkMatterProject 事项
     * @return 结果
     */
    public int updateLkMatterProject(LkMatterProject lkMatterProject);

    
    /**
     * 审核事项
     * 
     * @param lkMatterProject 事项
     * @return 结果
     */
    public int updateStatus(LkMatterProject lkMatterProject);

    /**
     * 批量删除事项
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteLkMatterProjectByIds(String ids);

    /**
     * 删除事项信息
     * 
     * @param id 事项ID
     * @return 结果
     */
    public int deleteLkMatterProjectById(Long id);

    /**
     * 查询亮灯事项
     * @param lmp
     */
	public List<LkMatterProject> getLight(LkMatterProject lmp);

	  /**
     * 查询去重亮灯事项--保留红灯
     * @param lmp
     */
	public List<LkMatterProject> getDistinctLight(LkMatterProject lmp);

	/***
	 * 批量操作
	 * @Author wupujian
	 * @Description
	 * @Date  2020/7/18
	 * @Param [list]
	 * @return int
	 **/
    int saveBatch(List<LkMatterProject> list,String deleteIds,String projectId);

    /***
     * 首页echars图
     * @Author wupujian
     * @Description
     * @Date  2020/7/20
     * @Param []
     * @return java.util.List<com.jade.linkong.domain.EcharDataEntry>
     **/
    List<EcharDataEntry> selectEcharData();

    List<LkMatterProject> getIndexTableData(LkMatterProject lmp);

    List<LkMatterProject> getMoreList(LkMatterProject lmp);

    /**
     * 修改亮灯状态
     * @param matterProject
     * @return
     */
    int updateLightStatus(LkMatterProject matterProject);

    /***
     * 首页饼图 - 亮灯总数
     * @Author wupujian
     * @Description
     * @Date  2020/7/31
     * @Param [matterProject]
     * @return java.util.List<com.jade.linkong.domain.LkMatterProject>
     **/

    Map<String, List<LkMatterProject>> selectLightGroupByOrg(LkMatterProject matterProject);

    /**
     * 查询部门事项信息
     * @return
     */;
    public Map<String,List<LkMatterProject>> selectListBydept();

    /**
     * 根据负责单位修改事项授受状态
     * @param deptId
     * @return
     */
    public int  updateAcceptingState(Long deptId);
}
